Row

DOT

Name Symbol Block Time Module Amount Percent
Polkadot DOT 10375730 2022-05-19 Balances 1194556908.127 98.98
Statemint DOT 1317163 2022-05-19 Assets 10100000.000 0.84
Acala DOT 1050164 2022-05-19 Tokens 1489362.004 0.12
Parallel DOT 994814 2022-05-19 Assets 528571.600 0.04
Moonbeam DOT 1060223 2022-05-19 Assets 228360.752 0.02
Statemint DOT 1317163 2022-05-19 Balances 1753.746 0.00
Astar DOT 1060439 2022-05-19 Assets 1219.332 0.00
Statemine DOT 2118318 2022-05-19 Assets 0.000 0.00

Row

LDOT

Name Symbol Block Time Module Amount Percent
Acala LDOT 1050164 2022-05-19 Tokens 37792448 100
Parallel LDOT 994814 2022-05-19 Assets 0 0

Row

LCDOT

Name Symbol Block Time Module Amount Percent
Acala LCDOT 1050164 2022-05-19 Tokens 24116160 100

Row

KSM

Name Symbol Block Time Module Amount Percent
Kusama KSM 12755405 2022-05-19 Balances 12296546.698907 97.92
Bifrost KSM 1757582 2022-05-19 Tokens 108881.412916 0.87
Moonriver KSM 1859026 2022-05-19 Assets 71801.277286 0.57
Karura KSM 1923401 2022-05-19 Tokens 54643.241370 0.44
Kintsugi KSM 846739 2022-05-19 Tokens 24151.126895 0.19
Statemine KSM 2118317 2022-05-19 Balances 1324.541411 0.01
Shiden KSM 1603089 2022-05-19 Assets 6.708656 0.00
Statemine KSM 2118318 2022-05-19 Assets 0.000000 0.00

Row

LKSM

Name Symbol Block Time Module Amount Percent
Karura LKSM 1923401 2022-05-19 Tokens 1287883 100

Row

AUSD

Name Symbol Block Time Module Amount Percent
Acala AUSD 1050164 2022-05-19 Tokens 5970841.855 59.23
Karura AUSD 1923401 2022-05-19 Tokens 3997992.702 39.66
Moonriver AUSD 1859026 2022-05-19 Assets 105810.048 1.05
Moonbeam AUSD 1060223 2022-05-19 Assets 6124.151 0.06
Parallel AUSD 994814 2022-05-19 Assets 0.000 0.00

Row

KBTC

Name Symbol Block Time Module Amount Percent
Kintsugi KBTC 846739 2022-05-19 Tokens 21.720899 61.44
Karura KBTC 1923401 2022-05-19 Tokens 10.096898 28.56
Moonriver KBTC 1859026 2022-05-19 Assets 3.536849 10.00

Row

KINT

Name Symbol Block Time Module Amount Percent
Kintsugi KINT 846739 2022-05-19 Tokens 10000000.00 99.60
Karura KINT 1923401 2022-05-19 Tokens 24005.60 0.24
Moonriver KINT 1859026 2022-05-19 Assets 16100.12 0.16

Row

PHA

Name Symbol Block Time Module Amount Percent
Khala PHA 1638543 2022-05-19 Balances 492799985.111984 99.91
Karura PHA 1923401 2022-05-19 Tokens 463520.705454 0.09
Phala Network PHA 90051 2022-04-15 Balances 4000.010000 0.00
Moonriver PHA 1859026 2022-05-19 Assets 24.910796 0.00
Bifrost PHA 1757582 2022-05-19 Tokens 3.460512 0.00
---
title: "Acala / Karura Token Dashboard"
output:
  flexdashboard::flex_dashboard:
    orientation: rows
    vertical_layout: scroll
    social: menu
    source_code: embed
---

```{css custom1, echo=FALSE}
.dataTables_scrollBody {
    max-height: 100% !important;
}
```

```{r global, include=FALSE}
library(knitr)

knitr::opts_chunk$set(
  message = FALSE,
  warning = FALSE,
  comment = "#>"
)


library(kableExtra)
library(formattable)
library(lubridate)
library(flexdashboard)
library(DT)
library(subscanr)
library(ghql)
x <- GraphqlClient$new()

# Helper function to concat
`%+%` <- function(a, b) paste0(a, b)

```

```{r tokens, cache = TRUE, include=FALSE}

rd <- fread("~/Python_HOME/tokens.csv")
# dim(rd)

# rd[, .N, by = Token][N > 1]

# fix Tokens
rd[, Symbol := Token]
rd[Token == "{'ForeignAsset': 0}", Symbol := "RMRK"]
rd[Token == "{'ForeignAsset': 1}", Symbol := "ARIS"]
rd[Token == "{'ForeignAsset': 2}", Symbol := "QTZ"]
rd[Token == "{'ForeignAsset': 3}", Symbol:= "MOVRZ"]
rd[Token == "{'ForeignAsset': 4}", Symbol := "HKO"]
rd[Token == "{'ForeignAsset': 5}", Symbol := "CSM"]
rd[Token == "{'ForeignAsset': 6}", Symbol := "KICO"]
rd[Token == "{'ForeignAsset': 7}", Symbol := "USDT"]
rd[Token == "{'ForeignAsset': 8}", Symbol := "TEER"]
rd[Token == "{'ForeignAsset': 9}", Symbol := "NEER"]
rd[Token == "{'ForeignAsset': 10}", Symbol := "KMA"]
rd[Token == "{'ForeignAsset': 11}", Symbol := "BSX"]
rd[Token == "{'ForeignAsset': 12}", Symbol := "AIR"]
rd[Token == "{'ForeignAsset': 13}", Symbol := "CRAB"]
rd[Token == "{'ForeignAsset': 14}", Symbol := "GENS"]
rd[Token == "{'ForeignAsset': 15}", Symbol := "EQD"]
rd[Token == "{'StableAssetPoolToken': 0}", Symbol := "taiKSM"]
rd[Token == "{'LiquidCrowdloan': 13}", Symbol := "LCDOT"]
rd[Token == "{'Token': 'VSKSM'}", Symbol := "VSKSM"]
rd[Token == "{'Token': 'PHA'}", Symbol := "PHA"]
rd[Token == "{'Token': 'KSM'}", Symbol := "KSM"]
rd[Token == "{'Token': 'KBTC'}", Symbol := "KBTC"]
rd[Token == "{'Token': 'TAI'}", Symbol := "TAI"]
rd[Token == "{'Token': 'LKSM'}", Symbol := "LKSM"]
rd[Token == "{'Token': 'KINT'}", Symbol :="KINT"]
rd[Token == "{'Token': 'KUSD'}", Symbol := "AUSD"]
rd[Token == "{'Token': 'BNC'}", Symbol := "BNC"]
rd[substr(Token, 1, 6) == "['KAR'", Symbol := "KAR"]
rd[Token == "['CRAB', 'CKTON']", Symbol := "CKTON"]                                   
rd[Token == "{'Token': 'LDOT'}", Symbol := "LDOT"]                                  
rd[Token == "{'Token': 'DOT'}", Symbol := "DOT"]            
rd[Token == "{'Token': 'AUSD'}", Symbol := "AUSD"]                                            
rd[substr(Token, 1, 6) == "['ACA'", Symbol := "ACA"] 
rd[Token == "{'Token': 'INTR'}", Symbol := "INTR"]
rd[substr(Symbol, 1, 1) == "{", Symbol := NA] 

# web3.py
# eth95.dev


# Shiden
rd[Token == "340282366920938463463374607431768211455" & Name == 'Shiden', Symbol := "KSM"]
rd[Token == "340282366920938463463374607431768211455" & Name == 'Astar', Symbol := "DOT"]
# Moonriver
rd[Token == "108457044225666871745333730479173774551" & Name == 'Moonriver', Symbol := "CSM"]
rd[Token == "76100021443485661246318545281171740067" & Name == 'Moonriver', Symbol := "HKO"]
rd[Token == "328179947973504579459046439826496046832" & Name == 'Moonriver', Symbol := "KBTC"]
rd[Token == "189307976387032586987344677431204943363" & Name == 'Moonriver', Symbol := "PHA"]
rd[Token == "214920334981412447805621250067209749032" & Name == 'Moonriver', Symbol := "AUSD"]
rd[Token == "175400718394635817552109270754364440562" & Name == 'Moonriver', Symbol := "KINT"]
rd[Token == "311091173110107856861649819128533077277" & Name == 'Moonriver', Symbol := "USDT"]
rd[Token == "182365888117048807484804376330534607370" & Name == 'Moonriver', Symbol := "RMRK"]
rd[Token == "42259045809535163221576417993425387648" & Name == 'Moonriver', Symbol := "KSM"]
rd[Token == "10810581592933651521121702237638664357" & Name == 'Moonriver', Symbol := "KAR"]
rd[Token == "319623561105283008236062145480775032445" & Name == 'Moonriver', Symbol := "BNC"]
# Moonbeam
rd[Token == "110021739665376159354538090254163045594" & Name == 'Moonbeam', Symbol := "AUSD"]
rd[Token == "42259045809535163221576417993425387648" & Name == 'Moonbeam', Symbol := "DOT"]
rd[Token == "224821240862170613278369189818311486111" & Name == 'Moonbeam', Symbol := "ACA"]
# Parallel
rd[Token == "110", Symbol := "LDOT"]
rd[Token == "1001", Symbol := "sDOT"]
rd[Token == "108", Symbol := "ACA"]
rd[Token == "101", Symbol := "DOT"]
rd[Token == "104", Symbol := "AUSD"]


rd[Token == "100", Symbol := "KSM"]
rd[Token == "123", Symbol := "GENS"]
rd[Token == "121", Symbol := "KBTC"]
rd[Token == "103", Symbol := "KUSD"]
rd[Token == "109", Symbol := "LKSM"]
rd[Token == "119", Symbol := "KINT"]
rd[Token == "1000", Symbol := "sKSM"]
rd[Token == "115", Symbol := "PHA"]
rd[Token == "107", Symbol := "KAR"]

# rd[, .(Token, Symbol)]

# rd[Name == 'Karura']

# rd[, .N, by = Symbol][N > 1]

rd <- merge(rd, subscanr::tokens[, .(Token, decimals)], by.x = "Symbol", by.y = "Token")
rd[, adj := 10 ** as.numeric(decimals)]
rd[, Amount := as.numeric(Amount) / adj]



```

Row
----

### DOT

```{r DOT}

dot <- rd[Symbol == 'DOT' | Symbol == 'DOT (on Homa)', .(Name, Symbol, Block, Time, Module, Amount)] %>%
  setorder(-Amount)
dot[, Percent := round((Amount / sum(Amount)) * 100, 2)]

knitr::kable(dot, escape = FALSE) %>%
  kable_styling()

```

Row
----

### LDOT

```{r LDOT}

ldot <- rd[Symbol == 'LDOT', .(Name, Symbol, Block, Time, Module, Amount)] %>%
  setorder(-Amount)
ldot[, Percent := round((Amount / sum(Amount)) * 100, 2)]

knitr::kable(ldot, escape = FALSE) %>%
  kable_styling()

```

Row
----

### LCDOT

```{r LCDOT}

lcdot <- rd[Symbol == 'LCDOT', .(Name, Symbol, Block, Time, Module, Amount)] %>%
  setorder(-Amount)
lcdot[, Percent := round((Amount / sum(Amount)) * 100, 2)]

knitr::kable(lcdot, escape = FALSE) %>%
  kable_styling()

```

Row
----

### KSM

```{r KSM}

ksm <- rd[Symbol == 'KSM' | Symbol == 'KSM (on Homa)', .(Name, Symbol, Block, Time, Module, Amount)] %>%
  setorder(-Amount)
ksm[, Percent := round((Amount / sum(Amount)) * 100, 2)]

knitr::kable(ksm, escape = FALSE) %>%
  kable_styling()

```

Row
----

### LKSM

```{r LKSM}

lksm <- rd[Symbol == 'LKSM', .(Name, Symbol, Block, Time, Module, Amount)] %>%
  setorder(-Amount)
lksm[, Percent := round((Amount / sum(Amount)) * 100, 2)]

knitr::kable(lksm, escape = FALSE) %>%
  kable_styling()

```

Row
----

### AUSD

```{r AUSD}

ausd <- rd[Symbol == 'AUSD', .(Name, Symbol, Block, Time, Module, Amount)] %>%
  setorder(-Amount)
ausd[, Percent := round((Amount / sum(Amount)) * 100, 2)]

knitr::kable(ausd, escape = FALSE) %>%
  kable_styling()

```

Row
----

### KBTC

```{r KBTC}

kbtc <- rd[Symbol == 'KBTC', .(Name, Symbol, Block, Time, Module, Amount)] %>%
  setorder(-Amount)
kbtc[, Percent := round((Amount / sum(Amount)) * 100, 2)]

knitr::kable(kbtc, escape = FALSE) %>%
  kable_styling()

```

Row
----

### KINT

```{r KINT}

kint <- rd[Symbol == 'KINT', .(Name, Symbol, Block, Time, Module, Amount)] %>%
  setorder(-Amount)
kint[, Percent := round((Amount / sum(Amount)) * 100, 2)]

knitr::kable(kint, escape = FALSE) %>%
  kable_styling()

```

Row
----

### PHA

```{r PHA}

pha <- rd[Symbol == 'PHA', .(Name, Symbol, Block, Time, Module, Amount)] %>%
  setorder(-Amount)
pha[, Percent := round((Amount / sum(Amount)) * 100, 2)]

knitr::kable(pha, escape = FALSE) %>%
  kable_styling()

```